Minimum delay value calculating device, information transmitting device, minimum delay value calculating method, and program storage medium

ABSTRACT

The purpose of the present invention is to appropriately detect propagation delay and the like (minimum delay value) in order to appropriately control a transmission rate of information. Upon input of a measured value of delay that is smaller than a value set as a minimum delay value, a minimum value setting unit ( 2 ) updates the set minimum delay value to the measured value of the delay. Delay refers to the time from transmission of information to arrival at the destination thereof, or the round trip time from transmission of information to receipt of reply information from the destination receiving the information by the originator. A timing determination unit ( 3 ) determines a review timing for reviewing the set minimum delay value on the basis of the measured value of the delay. A minimum value review unit ( 4 ) updates (reviews) the set minimum delay value at the determined review timing. The minimum delay value to be updated is a value calculated using the measured value of the measured delay or a preset initial value.

TECHNICAL FIELD

The present invention relates to a technique controlling a transmissionrate when transmitting information through an information communicationnetwork.

BACKGROUND ART

In recent years, with the increase in the Internet bandwidth and thedevelopment of the technique of handling versatile information, userscan acquire information including not only characters and still imagesbut also sounds and moving images by using mobile terminals at anytimeand anywhere. The technologies for supporting such informationacquisition include the communication schemes such as LTE (Long TermEvolution) and LTE-A (Long Term Evolution-Advanced).

In LTE, for example, a link adaptation technique contributes toimproving communication performance (e.g., communication speed) andquality (e.g., connectivity and SN (Signal-Noise) ratio). To give aspecific example, a base station (called as eNodeB in LTE) changes adata modulation scheme from QPSK (Quadrature Phase-Shift Keying) to64QAM (Quadrature Amplitude Modulation) based on distance to the user'smobile terminal, power of radio wave or the like. QPSK is a datamodulation scheme that is less susceptible to noise and interference.64QAM is a data modulation scheme that can send more data per symbol.Changing the data modulation scheme in that way leads to dynamicvariation of the transmission capacity per network resource (amount ofinformation transmittable per unit time). The serialization delay timevaries along with the variation of the transmission capacity.

In mobile terminals, when the communication condition is likely tobecome worse due to factors such as moving, a communication system beingused is often switched to another communication system of a differentcommunication scheme in order to continue the communication with, forexample, the distribution source of contents. For example, a mobileterminal switches from an LTE system, which is one of the communicationschemes, to a 3G (3rd Generation) system, which is another one of thecommunication schemes. Incidentally, 3G is a communication scheme fordigital mobile phones that complies with the standards defined by ITU(International Telecommunication Union).

When a communication system being used by a mobile terminal is switchedto a communication system of a different communication scheme asdescribed above, a handover process is carried out in the mobileterminal and the communication systems used by the mobile terminal. Suchthe handover between the communication systems different from each otheris called as a vertical handover. Processing relating to the verticalhandover causes variation in the information transmission delay time,transmission capacity and the like in a communication path, and due tosuch variation, propagation delay and serializing delay (hereinaftercalled as propagation delay or the like) frequently vary.

By the way, in TCP (Transmission Control Protocol), which has beenwidely used in both wired and wireless data communications, techniquesrelating to congestion control are advanced in order to adapt to therecent communication environments where a lot of traffics coexist.

As the techniques relating thereto, there are delay-based TCPs,represented by TCP Vegas disclosed in NPL 1 and FAST TCP disclosed inNPL 2. In the delay-based TCPs, for example, a server device thatperforms communication control detects data (information) congestion ina network by estimating the amount of queue remaining in the network.When detecting the congestion, the server device then suppresses a data(information) transmission rate before occurrence of packet loss. Inthis way, the server device makes it possible to stabilize throughputwithout network corruption. More specifically, in the delay-based TCPs,the server device estimates the amount of queue remaining in the networkbased on the product of the available bandwidth (available transmissioncapacity) or transmission rate and the queuing delay. When the estimatedamount of queue exceeds a threshold value, the server device then makesa detection of congestion and controls the transmission rate in adecreasing direction of the data transmission rate.

Queuing delay refers to a time obtained by subtracting the propagationdelay or the like from the current delay (a time from transmission ofinformation (data) to arrival at a destination or a round trip time fromtransmission of information to receipt by an information originator ofreply information by the destination having received the information).In TCPs, the propagation delay or the like is estimated by a minimumvalue of delay dmin measured in data (information) communication, andthe minimum value dmin is stored as a value of the propagation delay orthe like in, for example, a storage device of the server device. When aminimum value of delay dmin smaller than the estimated value dmin ismeasured, the value of the propagation delay or the like is generallyupdated to the newly measured minimum value dmin. In this case, however,the value of the propagation delay or the like is updated only when asmaller delay (minimum value dmin) is measured, and therefore, there isa problem that if the propagation delay or the like increases, theincrease is not reflected in the value of the propagation delay or thelike when the propagation delay or the like increases.

In other words, the increase in the propagation delay or the likeresults in the discrepancy between the actual propagation delay or thelike and the propagation delay or the like that the server devicerecognizes. The discrepancy in the propagation delay or the like alsocauses a discrepancy in the estimated value of the queuing delay, and asa result, the server device estimates a queue amount that is larger thanthe actual queue amount by using the queuing delay. Consequently, theserver device erroneously recognizes that the network is congested basedon the erroneous queue amount and unnecessarily reduces the transmissionrate in the delay-based TCPs. This will cause an inconvenience thatthroughput in TCPs decreases.

Meanwhile, a solution for the problem is proposed in NPL 3. In theapproach proposed in NPL 3, a server device checks whether thepropagation delay or the like has increased for each constant interval(each fixed number of packets, in the example described in NPL 3) and,resets the value dmin of the propagation delay or the like, when an thepropagation delay or the like has increased. Specifically, the serverdevice computes the minimum value of delay for each N (N is an integerequal to or greater than 2) acknowledgements (ACK (ACKnowledge)) asdmin_est. When the value obtained by subtracting the value dmin set asthe propagation delay or the like from the computed value dmin_est(dmin_est−dmin) is greater than the queuing delay L (L is an integerequal to or greater than 2) consecutive times, the server device thenjudges that the propagation delay or the like has increased. Accordingto such determination, the server device resets the value dmin of thepropagation delay or the like to the minimum value dmin_est of thelatest delay. Accordingly, the server device is able to recognize theincrease in the propagation delay or the like within a fixed number ofpackets (L×N packets).

CITATION LIST Non Patent Literature

-   [NPL1] L. S. Brakmo, S. W. O'Malley, and L. L. Peterson, “TCP Vegas:    New Techniques for Congestion Detection and Avoidance”, In Proc. of    ACM SIGCOMM 1994, pp. 24-35, London, UK, August 1994-   [NPL2] C. Jin, D. X. Wei, and S. H. Low, “FAST TCP: Motivation,    Architecture, Algorithms, Performance”, In Proc. of IEEE INFOCOM    2004, Vol. 4, pp. 2490-2501, Hong Kong, China, March 2004-   [NPL3] J. Mo, R. J. La, V. Anantharam, and J. Walrand, “Analysis and    Comparison of TCP Reno and Vegas”, In Proc. of IEEE INFOCOM 1999,    Vol. 3, pp. 1556-1563, USA, March 1999

SUMMARY OF INVENTION Technical Problem

However, the approach in NPL 3 has a problem that it is difficult to setan appropriate interval for computing the minimum value dmin_est of thepropagation delay or the like. In other words, there is a disadvantagethat increasing the fixed interval for computing the minimum valuedmin_est will extend time for reflecting the increase of propagationdelay or the like to the value dmin of the propagation delay or the likewhen the propagation delay or the like increases. In contrast, reducingthe fixed interval for computing the minimum value dmin_est will oftenlead to the increase in the value dmin of the propagation delay or thelike, even when the propagation delay or the like does not show a largechange. This will cause an inconvenience that the server deviceunderestimates the queuing delay and excessive traffic flows in thenetwork. In addition, the communication condition of the mobileterminals or network varies from moment to moment depending on, forexample, changes in surrounding conditions due to moving of the mobileterminals, changes in radio wave conditions between the mobile terminalsand the base station, and changes in cross traffic conditions. A fixedconstant interval for computing the minimum value dmin_est regardless ofsuch a dynamic variation in the communication condition will impose alimitation on the optimization of the network communication state.

The present invention was made in order to solve the problems asdescribed above. In other words, the main objective of the presentinvention is to provide a technique capable of appropriately detectingpropagation delay or the like (minimum delay value) in order toappropriately control a transmission rate of information in informationcommunications.

Solution to Problem

To achieve the objective of the present invention, a minimum delay valuecalculating device of the present invention includes:

a minimum value setting unit that updates a minimum delay value to ameasured value of delay that is a time from transmission of informationto arrival at a destination of the information or a round trip time fromtransmission of information to receipt of reply information from adestination receiving the information by an information originator, uponinput of the measured value of delay if the measured value of delay issmaller than a value set as the minimum delay value;

a timing determination unit that determines a review timing forreviewing the minimum delay value based on the measured value of delay;and

a minimum value review unit that updates the minimum delay value to anewly minimum delay value calculated using the measured value of delayor updating the minimum delay value to a preset initial value at thereview timing determined by the timing determination unit.

An information transmitting device of the present invention includes:

the minimum delay value calculating device of the present invention; and

a transmitting unit that transmits information at a transmission ratecalculated based on the minimum delay value set by the minimum delayvalue calculating device.

A minimum delay value calculating method of the present inventionincludes:

updating a minimum delay value to a measured value of delay that is atime from transmission of information to arrival at a destination of theinformation or a round trip time from transmission of information toreceipt of reply information from a destination receiving theinformation by an information originator, upon input of the measuredvalue of delay if the measured value of delay is smaller than a valueset as the minimum delay value;

determining a review timing for reviewing the minimum delay value basedon the measured value of delay; and

updating the minimum delay value to a newly minimum delay valuecalculated using the measured value of delay or updating the minimumdelay value to a preset initial value at the review timing.

A storage medium of the present invention storing a computer programthat causes a computer to execute:

processing for updating a minimum delay value to a measured value ofdelay that is a time from transmission of information to arrival at adestination of the information or a round trip time from transmission ofinformation to receipt of reply information from a destination receivingthe information by an information originator, upon input of the measuredvalue of delay if the measured value of delay is smaller than a valueset as the minimum delay value;

processing for determining a review timing for reviewing the minimumdelay value based on the measured value of delay; and

processing for updating the minimum delay value to a newly minimum delayvalue calculated using the measured value of delay or updating theminimum delay value to a preset initial value at the review timing.

The objective of the present invention is also achieved by the minimumdelay value calculating method of the present invention related to theminimum delay value calculating device of the configuration as describedabove. In addition, the objective is also achieved by the computerprogram that causes a computer to implement the minimum delay valuecalculating device and the minimum delay value calculating method of thepresent invention, and by the program storage medium that stores thecomputer program.

Advantageous Effects of Invention

The present invention enables appropriate detection of propagation delayor the like (minimum delay value) in order to appropriately control atransmission rate of information in information communications.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram illustrating a simplified configuration of aminimum delay value calculating device of a first exemplary embodimentaccording to the present invention.

FIG. 2 is a block diagram illustrating an exemplary embodiment of aninformation transmitting device according to the present invention.

FIG. 3 is a block diagram illustrating a simplified configuration of aninformation transmitting device including a minimum delay valuecalculating device of a second exemplary embodiment according to thepresent invention.

FIG. 4 is a flowchart illustrating an example of operations relating toreviewing and setting of a minimum delay value in the second exemplaryembodiment.

FIG. 5 is a flowchart illustrating another example of operationsrelating to reviewing and setting of a minimum delay value in the secondexemplary embodiment.

DESCRIPTION OF EMBODIMENTS

Exemplary embodiments of the present invention will be described belowwith reference to the accompanying drawings.

First Exemplary Embodiment

FIG. 1 is a block diagram illustrating a simplified configuration of aminimum delay value calculating device of a first exemplary embodimentaccording to the present invention. A minimum delay value calculatingdevice 1 of the first exemplary embodiment includes a minimum valuesetting unit 2, a timing determination unit 3 and a minimum value reviewunit 4. In the first exemplary embodiment, the minimum delay valuecalculating device 1 is configured to receive input of a measured valueof delay, which is measured, from the outside of the device 1. The term“delay” herein refers to a time from transmission of information toarrival at a destination of the information or a round trip time fromtransmission of information to receipt by an information originator ofreply information from the destination having received the information.

The minimum value setting unit 2 includes a function of, when a measuredvalue of delay (hereinafter also referred to as a measured delay value)is input and the measured delay value is smaller than a value set as aminimum delay value, updating the minimum delay value to the measureddelay value. In other words, the minimum value setting unit 2 includes afunction of setting the measured delay value as a new minimum delayvalue, when the measured delay value is smaller than the set minimumdelay value.

The timing determination unit 3 includes a function of determining(detecting) a review timing for reviewing the set minimum delay valuebased on the measured delay value.

The minimum value review unit 4 includes a function of updating the setminimum delay value at the determined review timing. The minimum delayvalue to be updated is a value calculated using the measured delay valueor a preset initial value. After the minimum delay value is updated bythe minimum value review unit 4, the minimum value setting unit 2 setsthe minimum delay value as described above using the updated minimumdelay value.

The minimum value setting unit 2, the timing determination unit 3, andthe minimum value review unit 4 are implemented by, for example, acontrol device (e.g., CPU (Central Processing Unit)) 5. In other words,the minimum delay value calculating device 1 of the first exemplaryembodiment includes, for example, the control device 5 and a storagedevice (storage medium) 6. In the storage device 6, a computer program(program) 7 that indicates a control procedure (processing procedure)for controlling the overall operation of the minimum delay valuecalculating device 1 is stored. The control device 5 executes theprogram 7 read out from the storage device 6, thereby implementing eachfunction of the minimum value setting unit 2, the timing determinationunit 3, and the minimum value review unit 4.

The minimum delay value calculating device 1 of the first exemplaryembodiment includes a function of determining a review timing forreviewing the minimum delay value by means of the timing determinationunit 3 based on the measured delay value. In other words, the minimumdelay value calculating device 1 includes a function of changing thereview timing for the minimum delay value in response to delayvariation. Thus, the minimum delay value calculating device 1 makes itpossible to review the minimum delay value at an appropriate timingtaking account of the delay variation, and to calculate the minimumdelay value suitable for the communication condition.

FIG. 2 is a block diagram illustrating a simplified configuration of anexemplary embodiment of an information transmitting device according tothe present invention. An information transmitting device 10 of theexemplary embodiment includes the minimum delay value calculating device1 as described above and a transmitting unit 11. The transmitting unit11 includes a function of calculating a transmission rate based on theminimum delay value calculated by the minimum delay value calculatingdevice 1, and transmitting information at the calculated transmissionrate.

The information transmitting device 10 transmits information at thetransmission rate calculated based on the minimum delay value (i.e., theminimum delay value suitable for the communication condition) calculatedby the minimum delay value calculating device 1. Thus, the informationtransmitting device 10 makes it possible to control the transmissionrate following rapidly and accurately the changes in the communicationcondition. Consequently, the information transmitting device 10 cangreatly contribute to the improvement of throughput in informationtransmission.

Second Exemplary Embodiment

A second exemplary embodiment according to the present invention will bedescribed below.

FIG. 3 is a block diagram illustrating a simplified configuration of aninformation transmitting device including a minimum delay valuecalculating device of the second exemplary embodiment according to thepresent invention. An information transmitting device 20 of the secondexemplary embodiment is connected via an information communicationnetwork 35 such as the Internet to a user's device with communicationfunction (hereinafter referred to as a user terminal) 36 serving as aninformation supply destination. The information transmitting device 20is a device including a function of transmitting (replying) information(data) requested by the user terminal 36 to the user terminal 36 via theinformation communication network 35. Specific examples of theinformation transmitting device 20 include an origin server.Alternatively, information transmitting device 20 may be an informationrelay device (specifically, e.g., a cache server, a proxy server, and anedge server) that is interposed on the communication path between theorigin server and the user terminal 36 and temporarily terminatesinformation communication. Alternatively, the information transmittingdevice 20 may be communication equipment (e.g., P-GW (Packet DataNetwork Gateway) and S-GW (Serving Gateway)) that constitutes aninformation communication system. When the information transmittingdevice 20 is interposed on the communication path between the originserver and the user terminal 36, the information communication networkconnecting between the information transmitting device 20 and the userterminal 36 may be different from the information communication networkconnecting between the information transmitting device 20 and the originserver.

Hardware configurations in the information transmitting device 20include a control device 30 and a storage device (storage medium) 31.The storage device 31 is, for example, a hard disk device. The storagedevice 31 stores a computer program (hereinafter also abbreviated as aprogram) 32 for controlling operations of the information transmittingdevice 20 and various data therein. The control device 30 includes a CPU(not illustrated) and may have functions as are described below by CPUthat executes the program 32 read out from the storage device 31. Inother words, in the second exemplary embodiment, the control device 30includes, as functional units, a minimum value setting unit 21, a timingdetermination unit 22, a minimum value review unit 23, an updateinterval calculating unit 24, a measuring unit 25, and a transmittingunit 26. In the second exemplary embodiment, a minimum delay valuecalculating device 33 is constituted by the minimum value setting unit21, the timing determination unit 22, the minimum value review unit 23,the update interval calculating unit 24, and the storage device 31(program 32), which are implemented by the CPU.

The measuring unit 25 has a function of measuring delay of informationcommunication in the information communication network 35. The term“delay” herein refers to a round trip time of information fromtransmission of information (data packet) by the informationtransmitting device 20 toward the user terminal 36 as a destination toreceipt of an ACK (ACKnowledge) packet as reply information from theuser terminal 36 having received the information by the informationtransmitting device 20. Such delay being the round trip time ofinformation (round-trip delay) is sometimes called as a RTT (Round TripTime). There may be also a case where the delay is defined by a timefrom transmission of information (data packet) by the informationtransmitting device 20 to receipt of the information by the userterminal 36 as a destination (also referred to as one-way delay). Thedelay measured by the measuring unit 25 may be the round-trip delay asdescribed above or the one-way delay, which may be determined asappropriate.

In the second exemplary embodiment, the measuring unit 25 measures thedelay either at a time when the information transmitting device 20receives the ACK packet corresponding to a data packet transmitted bythe information transmitting device 20 or at each preset timing, in thefollowing manner. For example, the information transmitting device 20(measuring unit 25) transmits a packet (search packet) different fromthe data packet and measures the delay using the propagation time of thesearch packet. There is a variety of ways to measure delay and theinformation transmitting device 20 (measuring unit 25) may measure delayby a measuring method other than the measurement by use of the searchpacket, but the descriptions thereof are omitted herein.

The measuring unit 25 further includes a function of holding a measuredvalue of delay (hereinafter also referred to as a measured delay valuedm) obtained by measurement for a predetermined period (e.g., a set timeperiod or a period for which a set number of packets are transmitted).Further, the measuring unit 25 includes a function of outputting themeasured delay value dm to the minimum value setting unit 21, each timethe measured delay value dm is measured. The timing at which themeasuring unit 25 outputs the measured delay value dm to the minimumvalue setting unit 21 is not limited to each time the measured delayvalue dm is measured, but may also be, for example, each predeterminednumber of times of measurement.

The minimum value setting unit 21 includes a function of holding a valueset as a minimum delay value (the set minimum delay value is hereinafterreferred to as a minimum delay value dmin also). Further, the minimumvalue setting unit 21 includes a function of comparing the measureddelay value dm with the minimum delay value dmin, each time the measureddelay value dm measured by the measuring unit 25 is input. Stillfurther, the minimum value setting unit 21 includes a function ofupdating the held minimum delay value dmin to the measured delay valuedm (in other words, resetting the value of the minimum delay value dminto the value of the measured delay value dm), when the measured delayvalue dm is equal to or less than the minimum delay value dmin.

The timing determination unit 22 includes a function of determining areview timing for reviewing the minimum delay value dmin held by theminimum value setting unit 21. In other words, the timing determinationunit 22 determines whether the measured delay value dm is the minimumdelay value dmin held by the minimum value setting unit 21 or a valueclose thereto, each time the measuring unit 25 measures the measureddelay value dm. The timing determination unit 22 makes a determinationof a review timing (in the communication condition so as to review theminimum delay value dmin), when the measured delay value dm isdetermined to be the minimum delay value dmin or a value close thereto.

To give a specific example, the timing determination unit 22 determinesthat the measured delay value dm is a value close to the minimum delayvalue dmin (including the case where the measured delay value dm is theminimum delay value dmin (dm=dmin)), when the measured delay value dmsatisfies Equation (1).

dm≦e×dmin  (1)

Where, “e” in Equation (1) represents a preset constant greater than 1.The constant “e”, which is a numerical value set as appropriate takingaccount of a communication schemes or the like used by the informationtransmitting device 20 and is not to be limited as long as it is anumerical value greater than 1. The constant “e” is set to, for example,a numerical value within the range of greater than 1 and equal to orless than 1.5 or 2.

Alternatively, the timing determination unit 22 may determine that themeasured delay value dm is a value close to the minimum delay value dminin a case as follows. For example, the timing determination unit 22calculates either a variation width h or a standard deviation s withrespect to a plurality of values that have been set as the minimum delayvalue dmin within a predetermined period M. The term “period M” refersto, for example, a period from a point in time of starting communicationin execution to a point in time of calculating the variation width h orstandard deviation s. Alternatively, the period M may be a periodbetween a point in time of calculating the variation width h or standarddeviation s and a point in time back to a predetermined timing.

The timing determination unit 22 then determines that the measured delayvalue dm is a value close to the minimum delay value dmin, when themeasured delay value dm satisfies Equation (2) using the variation widthh or Equation (3) using the standard deviation s.

dm≦dmin+(f×h)  (2)

dm≦dmin+(g×s)  (3)

Where, “f” in Equation (2) represents a preset constant greater than 0.“g” in Equation (3) represents a preset constant greater than 0. Theconstant “f” in Equation (2) and the constant “g” in Equation (3) areset as appropriate as long as they are numerical values greater than 0,and the numerical values of the constants “g” and “f” are not to belimited. However, since the variation width h and the standard deviations are numerical values representing variations of the minimum delayvalue dmin, the measured delay value dm is determined to be close to theminimum delay value dmin, when the measured delay value dm is smallerthan the variations, and the constant “f” is set as appropriate to anumerical value within the range of greater than 0 to smaller than 0.5,for example. Additionally, the constant “g” is set as appropriate to anumerical value within the range of greater than 0 to smaller than 1.0.

The timing determination unit 22 determines the review timing forreviewing the minimum delay value dmin, when the measured delay value dmis determined to be a value close to the minimum delay value dmin by themethod as described above. Further, the timing determination unit 22includes a function of holding information (e.g., time information)representing the determined review timing.

The update interval calculating unit 24 includes a function ofcalculating an update interval (hereinafter also expressed as an updateinterval INTupdate) used in processing for reviewing the minimum delayvalue dmin, when the timing determination unit 22 determines the reviewtiming. For example, when the timing determination unit 22 determinesthe review timing, the update interval calculating unit 24 takes ininformation as to the determined review timing and the latest reviewtiming from the timing determination unit 22. The update intervalcalculating unit 24 then calculates an interval between the reviewtimings (hereinafter expressed as an interval INT_m). The interval INT_mmay be represented by time or may be represented by the number ofpackets.

The update interval calculating unit 24 calculates the update intervalINTupdate, based on the calculated interval INT_m, as follows. Forexample, the update interval calculating unit 24 calculates a value byconstant multiplication of the interval INT_m as the update intervalINTupdate. Alternatively, the update interval calculating unit 24calculates an average value of a plurality of intervals INT_m calculatedduring a predetermined period, and calculates a value obtained byconstant multiplication of the average value as the update intervalINTupdate. Alternatively, the update interval calculating unit 24calculates a value obtained by multiplying a value taking an exponentialmoving average of the calculated intervals INT_m with a constant as theupdate interval INTupdate. A numerical value for the constantmultiplication as described above is set as appropriate taking accountof a communication schemes or the like, and is not limited.

Alternatively, the update interval calculating unit 24 computes ahistogram of the plurality of intervals INT_m calculated during thepredetermined period, approximates the histogram to a probabilitydistribution function, and calculates an average μ and a standarddeviation σ of the approximated probability distribution function. Theupdate interval calculating unit 24 then calculates the update intervalINTupdate by using Equation (4). “k” in Equation (4) represents a presetconstant.

INTupdate=μ+k×σ  (4)

Alternatively, the update interval calculating unit 24 models acommunication path for information by a queue, calculates a utilizationrate ρ of the queue based on the interval INT_m, and calculates theupdate interval INTupdate based on a current transmission rate and theutilization rate ρ.

The minimum value review unit 23 includes a function of reviewing theminimum delay value dmin, when the timing determination unit 22determines the review timing. For example, each time the review timingis determined, the minimum value review unit 23 acquires, from themeasuring unit 25, the plurality of the measured delay values dmmeasured during a period H between a point in time of determining thereview timing and a point in time back by the time of the updateinterval INTupdate. The minimum value review unit 23 then detects aminimum value dm_min among the plurality of the measured delay values dmduring the period H and calculates the minimum value dm_min as a minimumdelay value dmin_k.

Alternatively, the minimum value review unit 23 may calculate theminimum delay value dmin_k as follows. For example, the minimum valuereview unit 23 calculates the minimum delay value dmin_k based onEquation (5) using the minimum delay value dmin held by the minimumvalue setting unit 21 and a preset smoothing factor α. In other words,the minimum value review unit 23 calculates a value obtained by takingan exponential moving average of the minimum values dm_min among themeasured delay values dm in each the period H based on the updateinterval INTupdate as the minimum delay value dmin_k.

dmin_k=α×dm_min+(1−α)×dmin  (5)

Any method other than the above may be employed as the method forcalculating the minimum delay value dmin_k by the minimum value reviewunit 23. For example, each time the review timing is determined, theminimum value review unit 23 may calculate a predetermined initial valueas the minimum delay value dmin_k. Thus, there are various methods forcalculating the minimum delay value dmin_k, and an appropriate methodmay be employed here to calculate the minimum delay value dmin_k.

In addition, when calculating the minimum delay value dmin_k asdescribed above, the minimum value review unit 23 updates the minimumdelay value dmin held by the minimum value setting unit 21 to theminimum delay value dmin_k thus calculated.

In this manner, after the minimum delay value dmin is updated by theminimum value review unit 23, the minimum value setting unit 21 sets(updates) the minimum delay value dmin based on the minimum delay valuedmin thus updated.

The transmitting unit 26 includes a function of transmitting data whilecontrolling a transmission rate of the data to be transmitted to theuser terminal 36. For example, the transmitting unit 26 includes afunction of controlling (changing) the transmission rate each time themeasuring unit 25 measures delay dm, or for each predetermined timeinterval or for each predetermined number of packets. The transmittingunit 26 herein controls the transmission rate using the measured delayvalue dm measured by the measuring unit 25, the minimum delay value dminheld by the minimum value setting unit 21, and the current transmissionrate. More specifically, for example, the transmitting unit 26determines that the information communication network 35 is congested inthe event of packet loss, in the same manner as a communication controlmethod that is proposed as TCP Westwood+. The transmitting unit 26 thencalculates the product of an estimated value of the current throughputof the congested information communication network 35 and the minimumdelay value dmin, and controls the transmission rate so as to be thevalue of the product.

Alternatively, the transmitting unit 26 calculates the queuing delaybased on a difference between the measured delay value dm and theminimum delay value dmin, in the same manner as a communication controlmethod that is proposed as TCP Vegas. The transmitting unit 26 thenestimates the queue amount in the communication path from theinformation transmitting device 20 to the user terminal 36 via theinformation communication network 35 based on the product of theavailable bandwidth or current transmission rate and the queuing delay.Further, the transmitting unit 26 determines that the informationcommunication network 35 is congested when the queue amount exceeds aset threshold value, and reduces the transmission rate by apredetermined adjustment rate. In this manner, the transmitting unit 26may control the transmission rate. The transmitting unit 26 may controlthe transmission rate with any method other than the above.

When the information transmitting device 20 of the second exemplaryembodiment is an origin server, original information (original data) tobe transmitted is held in the storage device that is built in orexternally connected to the information transmitting device 20.Therefore, the information transmitting device 20 is able to transmitthe original data toward the user terminal 36 at the transmission ratecontrolled by the transmitting unit 26. In addition, when theinformation transmitting device 20 is a relay server device orcommunication equipment that constitutes a communication system (e.g.,P-GW and S-GW), the information transmitting device 20 cachesinformation received from outside to be transmitted (relayed) in its ownstorage device and temporarily holds a data stream as a buffer.Consequently, the information transmitting device 20 (relay serverdevice or the above communication equipment) is able to transmit theinformation to be transmitted (relayed) at the transmission ratecontrolled by the transmitting unit 26, without being influenced by thethroughput with the origin server.

When the information transmitting device 20 is the relay server deviceor the communication equipment as previously mentioned, there are somecases where the information transmitting device 20 transmits information(data) to the user terminal 36 in place of the origin server. In thiscase, it is necessary for the information transmitting device 20 toacquire a data request message transmitted from the user terminal 36toward the origin server. As a method for acquiring the request message,for example, the information transmitting device 20 is connected to arouter that is interposed on the communication path connecting betweenthe user terminal 36 and the origin server. The router is allowed totransfer the request message addressed to the origin server to theinformation transmitting device 20 based on header information of therequest message.

The user terminal 36 may be allowed to transmit a request messageexplicitly designating the information transmitting device 20 as a proxyserver. Further, when the user terminal 36 uses a DNS (Domain NameSystem) or the like to acquire an address of the destination in order totransmit a request message to the origin server, the request message maybe acquired as follows. In other words, the DNS (Domain Name System) orthe like is caused to reply the address of the information transmittingdevice 20 instead of the address of the origin server. Consequently, theinformation transmitting device 20 is able to acquire the requestmessage of the user terminal 36 in place of the origin server.

An example of operations relating to reviewing and setting of a minimumdelay value in the information transmitting device 20 is described belowwith reference to FIG. 4. The flowchart in FIG. 4 illustrates aprocessing procedure executed by the control device 30 (CPU).

For example, when the measuring unit 25 of the control device 30measures delay (step S101), the timing determination unit 22 determineswhether a review timing for reviewing a minimum delay value dmin aspreviously described (step S102). When the timing determination unit 22determines the review timing, the update interval calculating unit 24then calculates an update interval INTupdate (step S103). Thereafter,the minimum value review unit 23 calculates a minimum delay value dmin_kusing the update interval INTupdate and the measured value of delay(measured delay value dm) (step S104). The minimum value review unit 23then updates (sets) the minimum delay value dmin set in the minimumvalue setting unit 21 to the calculated minimum delay value dmin_k (stepS105).

Thereafter, the minimum value setting unit 21 determines whether themeasured value of delay (measured delay value dm) is equal to or lessthan the set minimum delay value dmin (step S106). When the timingdetermination unit 22 determines that it is not review timing in thedetermination operation at step S102, the operations at steps S103 toS105 are not executed but the operation by the minimum value settingunit 21 at step S106 is initiated.

When the measured delay value dm is equal to or less than the minimumdelay value dmin, the minimum value setting unit 21 updates (sets) theminimum delay value dmin to the measured delay value dm (step S107).

As described above, the control device 30 executes the operationsrelating to reviewing and setting of the minimum delay value dmin.

The information transmitting device 20 of the second exemplaryembodiment is able to review the minimum delay value dmin in anincreasing direction when the delay changes in an increasing direction,and to review the minimum delay value dmin, in contrast, in a decreasingdirection when the delay changes in a decreasing direction. In otherwords, the information transmitting device 20 is able to review theminimum delay value dmin depending on the communication condition.

Further, since timing for reviewing the minimum delay value dmin can bechanged depending on the communication condition, the informationtransmitting device 20 is able to review the minimum delay value dmin atan appropriate timing suitable for the communication condition.

Additionally, the information transmitting device 20 includes a functionof varying the width of the update interval INTupdate used whenreviewing the minimum delay value dmin (i.e., the range for selectingthe measured delay value dm used when calculating the minimum delayvalue dmin) depending on the communication condition. Consequently, theinformation transmitting device 20 is able to calculate the minimumdelay value dmin taking account of the speed of change in thecommunication condition.

In this way, since the minimum delay value suitable for thecommunication condition can be set, the information transmitting device20 makes it possible to accurately control a transmission rate using theminimum delay value. Thus, the information transmitting device 20 makesit easy to improve the throughput in the information communication.

Other Exemplary Embodiments

The present invention is not limited to the first and second exemplaryembodiments but may employ various exemplary embodiments. For example,in the second exemplary embodiment, an example in which a communicationprotocol used when transmitting information is TCP is described, but thepresent invention is applicable to a device or the like thatcommunicates information using a communication protocol such as UDP(User Datagram Protocol), for example, other than TCP.

Further, in the second exemplary embodiment, the operations (processing)relating to setting of the minimum delay value at steps S106 and S107are executed after the operations (processing) relating to reviewing ofthe minimum delay value at steps S102 to S105, as illustrated in FIG. 4.In contrast, the operations relating to setting of the minimum delayvalue (steps S202 and S203) may be executed before the operationsrelating to reviewing of the minimum delay value (steps S204 to S207),as illustrated in FIG. 5.

In addition, in the second exemplary embodiment, the determination as tothe review timing or not is made each time the delay is measured, butthe determination as to the review timing or not may be made each time apreset number of times of delay are measured.

While the invention has been particularly shown and described withreference to exemplary embodiments thereof, the invention is not limitedto these embodiments. It will be understood by those of ordinary skillin the art that various changes in form and details may be made thereinwithout departing from the spirit and scope of the present invention asdefined by the claims.

This application is based upon and claims the benefit of priority fromJapanese patent application No. 2013-268402, filed on Dec. 26, 2013, thedisclosure of which is incorporated herein in its entirety by reference.

REFERENCE SIGNS LIST

-   1, 33 Minimum delay value calculating device-   2, 21 Minimum value setting unit-   3, 22 Timing determination unit-   4, 23 Minimum value review unit-   6, 31 Storage device-   24 Update interval calculating unit-   25 Measuring unit-   26 Transmitting unit

What is claimed is:
 1. A minimum delay value calculating devicecomprising: a minimum value setting unit that updates a minimum delayvalue to a measured value of delay that is a time from transmission ofinformation to arrival at a destination of the information or a roundtrip time from transmission of information to receipt of replyinformation from a destination receiving the information by aninformation originator, upon input of the measured value of delay if themeasured value of delay is smaller than a value set as the minimum delayvalue; a timing determination unit that determines a review timing forreviewing the minimum delay value based on the measured value of delay;and a minimum value review unit that updates the minimum delay value toa newly minimum delay value calculated using the measured value of delayor updating the minimum delay value to a preset initial value at thereview timing determined by the timing determination unit.
 2. Theminimum delay value calculating device according to claim 1, furthercomprising a update interval calculating unit that calculates an updateinterval used when the minimum value review unit calculates the minimumdelay value, based on an interval between the review timing determinedby the timing determination unit and a latest review timing, wherein theminimum value review unit calculates, when calculating the minimum delayvalue at the review timing, the minimum delay value using the measuredvalue of delay measured in a period of the update interval calculated bythe update interval calculating unit.
 3. The minimum delay valuecalculating device according to claim 2, wherein when calculating theminimum delay value, the minimum value review unit calculates a minimumvalue among the measured values of delay measured in the period of theupdate interval as the minimum delay value, or alternatively, calculatesa value obtained by taking an exponential moving average of the minimumvalues each among the measured values of delay measured in the period ofthe update interval as the minimum delay value.
 4. The minimum delayvalue calculating device according to claim 2, wherein, when assumingthat the interval between the review timing detected by the timingdetermination unit and a latest review timing close to that reviewtiming is INT_m and the update interval is INTupdate, the updateinterval calculating unit calculates the update interval based on amathematical expression of INTupdate=INT_m×a (where a is a constantgreater than 1); alternatively, calculates the update interval based ona mathematical expression of INTupdate=A×b (where b is a constantgreater than 1) when assuming that an average value of the plurality ofintervals INT_m obtained in a predetermined period is A; alternatively,calculates the update interval based on a mathematical expression ofINTupdate=B×c (where c is a constant greater than 1) when assuming thata value obtained by taking an exponential moving average of theintervals INT_m is B; alternatively, calculates the update intervalbased on a mathematical expression of INTupdate=μ+k×σ (where k is aconstant) when assuming that an average value of a probabilitydistribution function obtained by approximating a histogram of theplurality of intervals INT_m in the predetermined period is μ, and astandard deviation of the probability distribution function is σ; oralternatively, calculates the update interval based on a transmissionrate of the information and a utilization rate in an information queuein a communication path for the information, the utilization rate beingcalculated using the interval INT_m.
 5. The minimum delay valuecalculating device according to claim 2, wherein the update intervalcalculating unit sets the update interval by time or the number ofpackets.
 6. The minimum delay value calculating device according toclaim 1, wherein the timing determination unit determines a reviewtiming for the minimum delay value if the measured value of delay is theminimum delay value or a value close to the minimum delay value.
 7. Theminimum delay value calculating device according to claim 6, wherein,when assuming that the measured value of delay is dm, the minimum delayvalue is dmin, a variation width of a plurality of values of delay thathave been set as the minimum delay value is h, and a statisticalstandard deviation of the plurality of values of delay that have beenset as the minimum delay value is s, the timing determination unitdetermines the review timing if a predetermined condition is satisfiedamong a condition that the measured value of delay dm satisfies amathematical expression of dm≦e×dmin (where e is a constant greater than1), a condition that the measured value of delay dm satisfies amathematical expression of dm≦dmin+(f×h) (where f is a constant greaterthan 0), and a condition that the measured value of delay dm satisfies amathematical expression of dm≦dmin+(g×s) (where g is a constant greaterthan 0).
 8. An information transmitting device comprising: the minimumdelay value calculating device according to claim 1; and a transmittingunit that transmits information at a transmission rate calculated basedon the minimum delay value set by the minimum delay value calculatingdevice.
 9. A minimum delay value calculating method comprising: updatinga minimum delay value to a measured value of delay that is a time fromtransmission of information to arrival at a destination of theinformation or a round trip time from transmission of information toreceipt of reply information from a destination receiving theinformation by an information originator, upon input of the measuredvalue of delay if the measured value of delay is smaller than a valueset as the minimum delay value; determining a review timing forreviewing the minimum delay value based on the measured value of delay;and updating the minimum delay value to a newly minimum delay valuecalculated using the measured value of delay or updating the minimumdelay value to a preset initial value at the review timing.
 10. Anon-transitory storage medium storing a computer program that causes acomputer to execute: processing for updating a minimum delay value to ameasured value of delay that is a time from transmission of informationto arrival at a destination of the information or a round trip time fromtransmission of information to receipt of reply information from adestination receiving the information by an information originator, uponinput of the measured value of delay if the measured value of delay issmaller than a value set as the minimum delay value; processing fordetermining a review timing for reviewing the minimum delay value basedon the measured value of delay; and processing for updating the minimumdelay value to a newly minimum delay value calculated using the measuredvalue of delay or updating the minimum delay value to a preset initialvalue at the review timing.
 11. A minimum delay value calculating devicecomprising: minimum value setting means for updating a minimum delayvalue to a measured value of delay that is a time from transmission ofinformation to arrival at a destination of the information or a roundtrip time from transmission of information to receipt of replyinformation from a destination receiving the information by aninformation originator, upon input of the measured value of delay if themeasured value of delay is smaller than a value set as the minimum delayvalue; timing determination means for determining a review timing forreviewing the minimum delay value based on the measured value of delay;and minimum value review means for updating the minimum delay value to anewly minimum delay value calculated using the measured value of delayor updating the minimum delay value to a preset initial value at thereview timing determined by the timing determination means.